home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
misc
/
amag
/
AM9401_2.lha
/
Amiga0194b
/
Tips & Tricks
/
FreezeTask.asm
< prev
next >
Wrap
Assembly Source File
|
1994-02-28
|
994b
|
35 lines
* FreezeTask
* Funktion: friert einen Task ein
* Eingabe : a1=ptr auf Task-Struktur
* Ausgabe : -----------------
FreezeTask
movem.l d0-d2/a0-a2/a6,-(sp)
move.l a1,a2 ;Task retten
move.l $4.w,a6
jsr _LVODisable(a6) ;System frieren
clr.b TC_STATE(a2) ;TS_INVALID setzen
jsr _LVOEnable(a6) ;System wecken
movem.l (sp)+,d0-a6
rts
* ActivateTask
* Funktion: läßt einen Task aufwachen
* Eingabe : a1=ptr auf Task-Struktur
* Ausgabe : -----------------
ActivateTask
movem.l d0-d2/a0-a2/a6,-(sp)
move.l a1,a2 ;Task retten
move.l $4.w,a6
jsr _LVODisable(a6) ;System frieren
move.b #TS_READY,TC_STATE(a2) ;TS_READY setzen
jsr _LVOEnable(a6) ;System retten
move.l a2,a1 ;Task nach a1
moveq #0,d0 ;d0 löschen
move.b LN_PRI(a1),d0 ;Prior. aus Task-Struktur
jsr _LVOSetTaskPri(A6) ;Task wird neu berechnet
movem.l (sp)+,d0-d2/a0-a2/a6
rts